//
// Created by Senhai Xu on 2025/3/17.
//
#include <vector>
#include<algorithm>
using namespace std;
class Solution
{
public:
  /**
     * 代码中的类名、方法名、参数名已经指定，请勿修改，直接返回方法规定的值即可
     *
     *
     * @param nums int整型vector
     * @param target int整型
     * @return int整型
   */
  int search(vector<int> &nums, int target)
  {
    // write code here
    // auto it = find(nums.begin(),nums.end(),target);
    // if(it!=nums.end()){
    //     return distance(nums.begin(),it);
    // }
    // return -1;
    int left = 0;
    int right = nums.size()-1;
    while(left<=right){
      int mid = (left+right)/2;
      if(nums[mid]==target)
      {
        return mid;
      }
      if(nums[mid]<target){
        left = mid;
      }
      else{
        right = mid;
      }
    }
    return -1;
  }
};